package com.zzl.study.auth.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author: zhangzl
 * @date: 2023/12/8 9:49
 * @version: 1.0
 * @description: 注册客户端DTO对象
 */
@Data
public class RegisteredClientDto {

    /**
     * 主键ID
     */
    private String id;

    /**
     * 客户端ID
     */
    private String clientId;

    /**
     * 客户端ID创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date clientIdIssuedAt;

    /**
     * 客户端密钥
     */
    private String clientSecret;

    /**
     * 客户端密钥过期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date clientSecretExpiresAt;

    /**
     * 客户端名称
     */
    private String clientName;

    /**
     * 客户端认证方法集合
     */
    private List<String> clientAuthenticationMethods;

    /**
     * 授权方式类型集合
     */
    private List<String> authorizationGrantTypes;

    /**
     * 重定向地址集合
     */
    private List<String> redirectUris;

    /**
     * 退出登录重定向地址集合
     */
    private List<String> postLogoutRedirectUris;

    /**
     * 权限范围集合
     */
    private List<String> scopes;

    /**
     * token设置
     */
    private TokenSettingsDto tokenSettings;

}
